package com.ruoyi.system.domain.po;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class TbZyzlZyzljlbgYyExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public TbZyzlZyzljlbgYyExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andYljgdmIsNull() {
            addCriterion("YLJGDM is null");
            return (Criteria) this;
        }

        public Criteria andYljgdmIsNotNull() {
            addCriterion("YLJGDM is not null");
            return (Criteria) this;
        }

        public Criteria andYljgdmEqualTo(String value) {
            addCriterion("YLJGDM =", value, "yljgdm");
            return (Criteria) this;
        }

        public Criteria andYljgdmNotEqualTo(String value) {
            addCriterion("YLJGDM <>", value, "yljgdm");
            return (Criteria) this;
        }

        public Criteria andYljgdmGreaterThan(String value) {
            addCriterion("YLJGDM >", value, "yljgdm");
            return (Criteria) this;
        }

        public Criteria andYljgdmGreaterThanOrEqualTo(String value) {
            addCriterion("YLJGDM >=", value, "yljgdm");
            return (Criteria) this;
        }

        public Criteria andYljgdmLessThan(String value) {
            addCriterion("YLJGDM <", value, "yljgdm");
            return (Criteria) this;
        }

        public Criteria andYljgdmLessThanOrEqualTo(String value) {
            addCriterion("YLJGDM <=", value, "yljgdm");
            return (Criteria) this;
        }

        public Criteria andYljgdmLike(String value) {
            addCriterion("YLJGDM like", value, "yljgdm");
            return (Criteria) this;
        }

        public Criteria andYljgdmNotLike(String value) {
            addCriterion("YLJGDM not like", value, "yljgdm");
            return (Criteria) this;
        }

        public Criteria andYljgdmIn(List<String> values) {
            addCriterion("YLJGDM in", values, "yljgdm");
            return (Criteria) this;
        }

        public Criteria andYljgdmNotIn(List<String> values) {
            addCriterion("YLJGDM not in", values, "yljgdm");
            return (Criteria) this;
        }

        public Criteria andYljgdmBetween(String value1, String value2) {
            addCriterion("YLJGDM between", value1, value2, "yljgdm");
            return (Criteria) this;
        }

        public Criteria andYljgdmNotBetween(String value1, String value2) {
            addCriterion("YLJGDM not between", value1, value2, "yljgdm");
            return (Criteria) this;
        }

        public Criteria andZlbgidIsNull() {
            addCriterion("ZLBGID is null");
            return (Criteria) this;
        }

        public Criteria andZlbgidIsNotNull() {
            addCriterion("ZLBGID is not null");
            return (Criteria) this;
        }

        public Criteria andZlbgidEqualTo(String value) {
            addCriterion("ZLBGID =", value, "zlbgid");
            return (Criteria) this;
        }

        public Criteria andZlbgidNotEqualTo(String value) {
            addCriterion("ZLBGID <>", value, "zlbgid");
            return (Criteria) this;
        }

        public Criteria andZlbgidGreaterThan(String value) {
            addCriterion("ZLBGID >", value, "zlbgid");
            return (Criteria) this;
        }

        public Criteria andZlbgidGreaterThanOrEqualTo(String value) {
            addCriterion("ZLBGID >=", value, "zlbgid");
            return (Criteria) this;
        }

        public Criteria andZlbgidLessThan(String value) {
            addCriterion("ZLBGID <", value, "zlbgid");
            return (Criteria) this;
        }

        public Criteria andZlbgidLessThanOrEqualTo(String value) {
            addCriterion("ZLBGID <=", value, "zlbgid");
            return (Criteria) this;
        }

        public Criteria andZlbgidLike(String value) {
            addCriterion("ZLBGID like", value, "zlbgid");
            return (Criteria) this;
        }

        public Criteria andZlbgidNotLike(String value) {
            addCriterion("ZLBGID not like", value, "zlbgid");
            return (Criteria) this;
        }

        public Criteria andZlbgidIn(List<String> values) {
            addCriterion("ZLBGID in", values, "zlbgid");
            return (Criteria) this;
        }

        public Criteria andZlbgidNotIn(List<String> values) {
            addCriterion("ZLBGID not in", values, "zlbgid");
            return (Criteria) this;
        }

        public Criteria andZlbgidBetween(String value1, String value2) {
            addCriterion("ZLBGID between", value1, value2, "zlbgid");
            return (Criteria) this;
        }

        public Criteria andZlbgidNotBetween(String value1, String value2) {
            addCriterion("ZLBGID not between", value1, value2, "zlbgid");
            return (Criteria) this;
        }

        public Criteria andYyjlidIsNull() {
            addCriterion("YYJLID is null");
            return (Criteria) this;
        }

        public Criteria andYyjlidIsNotNull() {
            addCriterion("YYJLID is not null");
            return (Criteria) this;
        }

        public Criteria andYyjlidEqualTo(String value) {
            addCriterion("YYJLID =", value, "yyjlid");
            return (Criteria) this;
        }

        public Criteria andYyjlidNotEqualTo(String value) {
            addCriterion("YYJLID <>", value, "yyjlid");
            return (Criteria) this;
        }

        public Criteria andYyjlidGreaterThan(String value) {
            addCriterion("YYJLID >", value, "yyjlid");
            return (Criteria) this;
        }

        public Criteria andYyjlidGreaterThanOrEqualTo(String value) {
            addCriterion("YYJLID >=", value, "yyjlid");
            return (Criteria) this;
        }

        public Criteria andYyjlidLessThan(String value) {
            addCriterion("YYJLID <", value, "yyjlid");
            return (Criteria) this;
        }

        public Criteria andYyjlidLessThanOrEqualTo(String value) {
            addCriterion("YYJLID <=", value, "yyjlid");
            return (Criteria) this;
        }

        public Criteria andYyjlidLike(String value) {
            addCriterion("YYJLID like", value, "yyjlid");
            return (Criteria) this;
        }

        public Criteria andYyjlidNotLike(String value) {
            addCriterion("YYJLID not like", value, "yyjlid");
            return (Criteria) this;
        }

        public Criteria andYyjlidIn(List<String> values) {
            addCriterion("YYJLID in", values, "yyjlid");
            return (Criteria) this;
        }

        public Criteria andYyjlidNotIn(List<String> values) {
            addCriterion("YYJLID not in", values, "yyjlid");
            return (Criteria) this;
        }

        public Criteria andYyjlidBetween(String value1, String value2) {
            addCriterion("YYJLID between", value1, value2, "yyjlid");
            return (Criteria) this;
        }

        public Criteria andYyjlidNotBetween(String value1, String value2) {
            addCriterion("YYJLID not between", value1, value2, "yyjlid");
            return (Criteria) this;
        }

        public Criteria andGrbslxIsNull() {
            addCriterion("GRBSLX is null");
            return (Criteria) this;
        }

        public Criteria andGrbslxIsNotNull() {
            addCriterion("GRBSLX is not null");
            return (Criteria) this;
        }

        public Criteria andGrbslxEqualTo(String value) {
            addCriterion("GRBSLX =", value, "grbslx");
            return (Criteria) this;
        }

        public Criteria andGrbslxNotEqualTo(String value) {
            addCriterion("GRBSLX <>", value, "grbslx");
            return (Criteria) this;
        }

        public Criteria andGrbslxGreaterThan(String value) {
            addCriterion("GRBSLX >", value, "grbslx");
            return (Criteria) this;
        }

        public Criteria andGrbslxGreaterThanOrEqualTo(String value) {
            addCriterion("GRBSLX >=", value, "grbslx");
            return (Criteria) this;
        }

        public Criteria andGrbslxLessThan(String value) {
            addCriterion("GRBSLX <", value, "grbslx");
            return (Criteria) this;
        }

        public Criteria andGrbslxLessThanOrEqualTo(String value) {
            addCriterion("GRBSLX <=", value, "grbslx");
            return (Criteria) this;
        }

        public Criteria andGrbslxLike(String value) {
            addCriterion("GRBSLX like", value, "grbslx");
            return (Criteria) this;
        }

        public Criteria andGrbslxNotLike(String value) {
            addCriterion("GRBSLX not like", value, "grbslx");
            return (Criteria) this;
        }

        public Criteria andGrbslxIn(List<String> values) {
            addCriterion("GRBSLX in", values, "grbslx");
            return (Criteria) this;
        }

        public Criteria andGrbslxNotIn(List<String> values) {
            addCriterion("GRBSLX not in", values, "grbslx");
            return (Criteria) this;
        }

        public Criteria andGrbslxBetween(String value1, String value2) {
            addCriterion("GRBSLX between", value1, value2, "grbslx");
            return (Criteria) this;
        }

        public Criteria andGrbslxNotBetween(String value1, String value2) {
            addCriterion("GRBSLX not between", value1, value2, "grbslx");
            return (Criteria) this;
        }

        public Criteria andGrbsmIsNull() {
            addCriterion("GRBSM is null");
            return (Criteria) this;
        }

        public Criteria andGrbsmIsNotNull() {
            addCriterion("GRBSM is not null");
            return (Criteria) this;
        }

        public Criteria andGrbsmEqualTo(String value) {
            addCriterion("GRBSM =", value, "grbsm");
            return (Criteria) this;
        }

        public Criteria andGrbsmNotEqualTo(String value) {
            addCriterion("GRBSM <>", value, "grbsm");
            return (Criteria) this;
        }

        public Criteria andGrbsmGreaterThan(String value) {
            addCriterion("GRBSM >", value, "grbsm");
            return (Criteria) this;
        }

        public Criteria andGrbsmGreaterThanOrEqualTo(String value) {
            addCriterion("GRBSM >=", value, "grbsm");
            return (Criteria) this;
        }

        public Criteria andGrbsmLessThan(String value) {
            addCriterion("GRBSM <", value, "grbsm");
            return (Criteria) this;
        }

        public Criteria andGrbsmLessThanOrEqualTo(String value) {
            addCriterion("GRBSM <=", value, "grbsm");
            return (Criteria) this;
        }

        public Criteria andGrbsmLike(String value) {
            addCriterion("GRBSM like", value, "grbsm");
            return (Criteria) this;
        }

        public Criteria andGrbsmNotLike(String value) {
            addCriterion("GRBSM not like", value, "grbsm");
            return (Criteria) this;
        }

        public Criteria andGrbsmIn(List<String> values) {
            addCriterion("GRBSM in", values, "grbsm");
            return (Criteria) this;
        }

        public Criteria andGrbsmNotIn(List<String> values) {
            addCriterion("GRBSM not in", values, "grbsm");
            return (Criteria) this;
        }

        public Criteria andGrbsmBetween(String value1, String value2) {
            addCriterion("GRBSM between", value1, value2, "grbsm");
            return (Criteria) this;
        }

        public Criteria andGrbsmNotBetween(String value1, String value2) {
            addCriterion("GRBSM not between", value1, value2, "grbsm");
            return (Criteria) this;
        }

        public Criteria andJzlshIsNull() {
            addCriterion("JZLSH is null");
            return (Criteria) this;
        }

        public Criteria andJzlshIsNotNull() {
            addCriterion("JZLSH is not null");
            return (Criteria) this;
        }

        public Criteria andJzlshEqualTo(String value) {
            addCriterion("JZLSH =", value, "jzlsh");
            return (Criteria) this;
        }

        public Criteria andJzlshNotEqualTo(String value) {
            addCriterion("JZLSH <>", value, "jzlsh");
            return (Criteria) this;
        }

        public Criteria andJzlshGreaterThan(String value) {
            addCriterion("JZLSH >", value, "jzlsh");
            return (Criteria) this;
        }

        public Criteria andJzlshGreaterThanOrEqualTo(String value) {
            addCriterion("JZLSH >=", value, "jzlsh");
            return (Criteria) this;
        }

        public Criteria andJzlshLessThan(String value) {
            addCriterion("JZLSH <", value, "jzlsh");
            return (Criteria) this;
        }

        public Criteria andJzlshLessThanOrEqualTo(String value) {
            addCriterion("JZLSH <=", value, "jzlsh");
            return (Criteria) this;
        }

        public Criteria andJzlshLike(String value) {
            addCriterion("JZLSH like", value, "jzlsh");
            return (Criteria) this;
        }

        public Criteria andJzlshNotLike(String value) {
            addCriterion("JZLSH not like", value, "jzlsh");
            return (Criteria) this;
        }

        public Criteria andJzlshIn(List<String> values) {
            addCriterion("JZLSH in", values, "jzlsh");
            return (Criteria) this;
        }

        public Criteria andJzlshNotIn(List<String> values) {
            addCriterion("JZLSH not in", values, "jzlsh");
            return (Criteria) this;
        }

        public Criteria andJzlshBetween(String value1, String value2) {
            addCriterion("JZLSH between", value1, value2, "jzlsh");
            return (Criteria) this;
        }

        public Criteria andJzlshNotBetween(String value1, String value2) {
            addCriterion("JZLSH not between", value1, value2, "jzlsh");
            return (Criteria) this;
        }

        public Criteria andYwmcIsNull() {
            addCriterion("YWMC is null");
            return (Criteria) this;
        }

        public Criteria andYwmcIsNotNull() {
            addCriterion("YWMC is not null");
            return (Criteria) this;
        }

        public Criteria andYwmcEqualTo(String value) {
            addCriterion("YWMC =", value, "ywmc");
            return (Criteria) this;
        }

        public Criteria andYwmcNotEqualTo(String value) {
            addCriterion("YWMC <>", value, "ywmc");
            return (Criteria) this;
        }

        public Criteria andYwmcGreaterThan(String value) {
            addCriterion("YWMC >", value, "ywmc");
            return (Criteria) this;
        }

        public Criteria andYwmcGreaterThanOrEqualTo(String value) {
            addCriterion("YWMC >=", value, "ywmc");
            return (Criteria) this;
        }

        public Criteria andYwmcLessThan(String value) {
            addCriterion("YWMC <", value, "ywmc");
            return (Criteria) this;
        }

        public Criteria andYwmcLessThanOrEqualTo(String value) {
            addCriterion("YWMC <=", value, "ywmc");
            return (Criteria) this;
        }

        public Criteria andYwmcLike(String value) {
            addCriterion("YWMC like", value, "ywmc");
            return (Criteria) this;
        }

        public Criteria andYwmcNotLike(String value) {
            addCriterion("YWMC not like", value, "ywmc");
            return (Criteria) this;
        }

        public Criteria andYwmcIn(List<String> values) {
            addCriterion("YWMC in", values, "ywmc");
            return (Criteria) this;
        }

        public Criteria andYwmcNotIn(List<String> values) {
            addCriterion("YWMC not in", values, "ywmc");
            return (Criteria) this;
        }

        public Criteria andYwmcBetween(String value1, String value2) {
            addCriterion("YWMC between", value1, value2, "ywmc");
            return (Criteria) this;
        }

        public Criteria andYwmcNotBetween(String value1, String value2) {
            addCriterion("YWMC not between", value1, value2, "ywmc");
            return (Criteria) this;
        }

        public Criteria andYwyfIsNull() {
            addCriterion("YWYF is null");
            return (Criteria) this;
        }

        public Criteria andYwyfIsNotNull() {
            addCriterion("YWYF is not null");
            return (Criteria) this;
        }

        public Criteria andYwyfEqualTo(String value) {
            addCriterion("YWYF =", value, "ywyf");
            return (Criteria) this;
        }

        public Criteria andYwyfNotEqualTo(String value) {
            addCriterion("YWYF <>", value, "ywyf");
            return (Criteria) this;
        }

        public Criteria andYwyfGreaterThan(String value) {
            addCriterion("YWYF >", value, "ywyf");
            return (Criteria) this;
        }

        public Criteria andYwyfGreaterThanOrEqualTo(String value) {
            addCriterion("YWYF >=", value, "ywyf");
            return (Criteria) this;
        }

        public Criteria andYwyfLessThan(String value) {
            addCriterion("YWYF <", value, "ywyf");
            return (Criteria) this;
        }

        public Criteria andYwyfLessThanOrEqualTo(String value) {
            addCriterion("YWYF <=", value, "ywyf");
            return (Criteria) this;
        }

        public Criteria andYwyfLike(String value) {
            addCriterion("YWYF like", value, "ywyf");
            return (Criteria) this;
        }

        public Criteria andYwyfNotLike(String value) {
            addCriterion("YWYF not like", value, "ywyf");
            return (Criteria) this;
        }

        public Criteria andYwyfIn(List<String> values) {
            addCriterion("YWYF in", values, "ywyf");
            return (Criteria) this;
        }

        public Criteria andYwyfNotIn(List<String> values) {
            addCriterion("YWYF not in", values, "ywyf");
            return (Criteria) this;
        }

        public Criteria andYwyfBetween(String value1, String value2) {
            addCriterion("YWYF between", value1, value2, "ywyf");
            return (Criteria) this;
        }

        public Criteria andYwyfNotBetween(String value1, String value2) {
            addCriterion("YWYF not between", value1, value2, "ywyf");
            return (Criteria) this;
        }

        public Criteria andZysllbdmIsNull() {
            addCriterion("ZYSLLBDM is null");
            return (Criteria) this;
        }

        public Criteria andZysllbdmIsNotNull() {
            addCriterion("ZYSLLBDM is not null");
            return (Criteria) this;
        }

        public Criteria andZysllbdmEqualTo(String value) {
            addCriterion("ZYSLLBDM =", value, "zysllbdm");
            return (Criteria) this;
        }

        public Criteria andZysllbdmNotEqualTo(String value) {
            addCriterion("ZYSLLBDM <>", value, "zysllbdm");
            return (Criteria) this;
        }

        public Criteria andZysllbdmGreaterThan(String value) {
            addCriterion("ZYSLLBDM >", value, "zysllbdm");
            return (Criteria) this;
        }

        public Criteria andZysllbdmGreaterThanOrEqualTo(String value) {
            addCriterion("ZYSLLBDM >=", value, "zysllbdm");
            return (Criteria) this;
        }

        public Criteria andZysllbdmLessThan(String value) {
            addCriterion("ZYSLLBDM <", value, "zysllbdm");
            return (Criteria) this;
        }

        public Criteria andZysllbdmLessThanOrEqualTo(String value) {
            addCriterion("ZYSLLBDM <=", value, "zysllbdm");
            return (Criteria) this;
        }

        public Criteria andZysllbdmLike(String value) {
            addCriterion("ZYSLLBDM like", value, "zysllbdm");
            return (Criteria) this;
        }

        public Criteria andZysllbdmNotLike(String value) {
            addCriterion("ZYSLLBDM not like", value, "zysllbdm");
            return (Criteria) this;
        }

        public Criteria andZysllbdmIn(List<String> values) {
            addCriterion("ZYSLLBDM in", values, "zysllbdm");
            return (Criteria) this;
        }

        public Criteria andZysllbdmNotIn(List<String> values) {
            addCriterion("ZYSLLBDM not in", values, "zysllbdm");
            return (Criteria) this;
        }

        public Criteria andZysllbdmBetween(String value1, String value2) {
            addCriterion("ZYSLLBDM between", value1, value2, "zysllbdm");
            return (Criteria) this;
        }

        public Criteria andZysllbdmNotBetween(String value1, String value2) {
            addCriterion("ZYSLLBDM not between", value1, value2, "zysllbdm");
            return (Criteria) this;
        }

        public Criteria andYwsypcdmIsNull() {
            addCriterion("YWSYPCDM is null");
            return (Criteria) this;
        }

        public Criteria andYwsypcdmIsNotNull() {
            addCriterion("YWSYPCDM is not null");
            return (Criteria) this;
        }

        public Criteria andYwsypcdmEqualTo(String value) {
            addCriterion("YWSYPCDM =", value, "ywsypcdm");
            return (Criteria) this;
        }

        public Criteria andYwsypcdmNotEqualTo(String value) {
            addCriterion("YWSYPCDM <>", value, "ywsypcdm");
            return (Criteria) this;
        }

        public Criteria andYwsypcdmGreaterThan(String value) {
            addCriterion("YWSYPCDM >", value, "ywsypcdm");
            return (Criteria) this;
        }

        public Criteria andYwsypcdmGreaterThanOrEqualTo(String value) {
            addCriterion("YWSYPCDM >=", value, "ywsypcdm");
            return (Criteria) this;
        }

        public Criteria andYwsypcdmLessThan(String value) {
            addCriterion("YWSYPCDM <", value, "ywsypcdm");
            return (Criteria) this;
        }

        public Criteria andYwsypcdmLessThanOrEqualTo(String value) {
            addCriterion("YWSYPCDM <=", value, "ywsypcdm");
            return (Criteria) this;
        }

        public Criteria andYwsypcdmLike(String value) {
            addCriterion("YWSYPCDM like", value, "ywsypcdm");
            return (Criteria) this;
        }

        public Criteria andYwsypcdmNotLike(String value) {
            addCriterion("YWSYPCDM not like", value, "ywsypcdm");
            return (Criteria) this;
        }

        public Criteria andYwsypcdmIn(List<String> values) {
            addCriterion("YWSYPCDM in", values, "ywsypcdm");
            return (Criteria) this;
        }

        public Criteria andYwsypcdmNotIn(List<String> values) {
            addCriterion("YWSYPCDM not in", values, "ywsypcdm");
            return (Criteria) this;
        }

        public Criteria andYwsypcdmBetween(String value1, String value2) {
            addCriterion("YWSYPCDM between", value1, value2, "ywsypcdm");
            return (Criteria) this;
        }

        public Criteria andYwsypcdmNotBetween(String value1, String value2) {
            addCriterion("YWSYPCDM not between", value1, value2, "ywsypcdm");
            return (Criteria) this;
        }

        public Criteria andYwjxdmIsNull() {
            addCriterion("YWJXDM is null");
            return (Criteria) this;
        }

        public Criteria andYwjxdmIsNotNull() {
            addCriterion("YWJXDM is not null");
            return (Criteria) this;
        }

        public Criteria andYwjxdmEqualTo(String value) {
            addCriterion("YWJXDM =", value, "ywjxdm");
            return (Criteria) this;
        }

        public Criteria andYwjxdmNotEqualTo(String value) {
            addCriterion("YWJXDM <>", value, "ywjxdm");
            return (Criteria) this;
        }

        public Criteria andYwjxdmGreaterThan(String value) {
            addCriterion("YWJXDM >", value, "ywjxdm");
            return (Criteria) this;
        }

        public Criteria andYwjxdmGreaterThanOrEqualTo(String value) {
            addCriterion("YWJXDM >=", value, "ywjxdm");
            return (Criteria) this;
        }

        public Criteria andYwjxdmLessThan(String value) {
            addCriterion("YWJXDM <", value, "ywjxdm");
            return (Criteria) this;
        }

        public Criteria andYwjxdmLessThanOrEqualTo(String value) {
            addCriterion("YWJXDM <=", value, "ywjxdm");
            return (Criteria) this;
        }

        public Criteria andYwjxdmLike(String value) {
            addCriterion("YWJXDM like", value, "ywjxdm");
            return (Criteria) this;
        }

        public Criteria andYwjxdmNotLike(String value) {
            addCriterion("YWJXDM not like", value, "ywjxdm");
            return (Criteria) this;
        }

        public Criteria andYwjxdmIn(List<String> values) {
            addCriterion("YWJXDM in", values, "ywjxdm");
            return (Criteria) this;
        }

        public Criteria andYwjxdmNotIn(List<String> values) {
            addCriterion("YWJXDM not in", values, "ywjxdm");
            return (Criteria) this;
        }

        public Criteria andYwjxdmBetween(String value1, String value2) {
            addCriterion("YWJXDM between", value1, value2, "ywjxdm");
            return (Criteria) this;
        }

        public Criteria andYwjxdmNotBetween(String value1, String value2) {
            addCriterion("YWJXDM not between", value1, value2, "ywjxdm");
            return (Criteria) this;
        }

        public Criteria andYwsyjldwIsNull() {
            addCriterion("YWSYJLDW is null");
            return (Criteria) this;
        }

        public Criteria andYwsyjldwIsNotNull() {
            addCriterion("YWSYJLDW is not null");
            return (Criteria) this;
        }

        public Criteria andYwsyjldwEqualTo(String value) {
            addCriterion("YWSYJLDW =", value, "ywsyjldw");
            return (Criteria) this;
        }

        public Criteria andYwsyjldwNotEqualTo(String value) {
            addCriterion("YWSYJLDW <>", value, "ywsyjldw");
            return (Criteria) this;
        }

        public Criteria andYwsyjldwGreaterThan(String value) {
            addCriterion("YWSYJLDW >", value, "ywsyjldw");
            return (Criteria) this;
        }

        public Criteria andYwsyjldwGreaterThanOrEqualTo(String value) {
            addCriterion("YWSYJLDW >=", value, "ywsyjldw");
            return (Criteria) this;
        }

        public Criteria andYwsyjldwLessThan(String value) {
            addCriterion("YWSYJLDW <", value, "ywsyjldw");
            return (Criteria) this;
        }

        public Criteria andYwsyjldwLessThanOrEqualTo(String value) {
            addCriterion("YWSYJLDW <=", value, "ywsyjldw");
            return (Criteria) this;
        }

        public Criteria andYwsyjldwLike(String value) {
            addCriterion("YWSYJLDW like", value, "ywsyjldw");
            return (Criteria) this;
        }

        public Criteria andYwsyjldwNotLike(String value) {
            addCriterion("YWSYJLDW not like", value, "ywsyjldw");
            return (Criteria) this;
        }

        public Criteria andYwsyjldwIn(List<String> values) {
            addCriterion("YWSYJLDW in", values, "ywsyjldw");
            return (Criteria) this;
        }

        public Criteria andYwsyjldwNotIn(List<String> values) {
            addCriterion("YWSYJLDW not in", values, "ywsyjldw");
            return (Criteria) this;
        }

        public Criteria andYwsyjldwBetween(String value1, String value2) {
            addCriterion("YWSYJLDW between", value1, value2, "ywsyjldw");
            return (Criteria) this;
        }

        public Criteria andYwsyjldwNotBetween(String value1, String value2) {
            addCriterion("YWSYJLDW not between", value1, value2, "ywsyjldw");
            return (Criteria) this;
        }

        public Criteria andYwsycjlIsNull() {
            addCriterion("YWSYCJL is null");
            return (Criteria) this;
        }

        public Criteria andYwsycjlIsNotNull() {
            addCriterion("YWSYCJL is not null");
            return (Criteria) this;
        }

        public Criteria andYwsycjlEqualTo(BigDecimal value) {
            addCriterion("YWSYCJL =", value, "ywsycjl");
            return (Criteria) this;
        }

        public Criteria andYwsycjlNotEqualTo(BigDecimal value) {
            addCriterion("YWSYCJL <>", value, "ywsycjl");
            return (Criteria) this;
        }

        public Criteria andYwsycjlGreaterThan(BigDecimal value) {
            addCriterion("YWSYCJL >", value, "ywsycjl");
            return (Criteria) this;
        }

        public Criteria andYwsycjlGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("YWSYCJL >=", value, "ywsycjl");
            return (Criteria) this;
        }

        public Criteria andYwsycjlLessThan(BigDecimal value) {
            addCriterion("YWSYCJL <", value, "ywsycjl");
            return (Criteria) this;
        }

        public Criteria andYwsycjlLessThanOrEqualTo(BigDecimal value) {
            addCriterion("YWSYCJL <=", value, "ywsycjl");
            return (Criteria) this;
        }

        public Criteria andYwsycjlIn(List<BigDecimal> values) {
            addCriterion("YWSYCJL in", values, "ywsycjl");
            return (Criteria) this;
        }

        public Criteria andYwsycjlNotIn(List<BigDecimal> values) {
            addCriterion("YWSYCJL not in", values, "ywsycjl");
            return (Criteria) this;
        }

        public Criteria andYwsycjlBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("YWSYCJL between", value1, value2, "ywsycjl");
            return (Criteria) this;
        }

        public Criteria andYwsycjlNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("YWSYCJL not between", value1, value2, "ywsycjl");
            return (Criteria) this;
        }

        public Criteria andYwsyzlIsNull() {
            addCriterion("YWSYZL is null");
            return (Criteria) this;
        }

        public Criteria andYwsyzlIsNotNull() {
            addCriterion("YWSYZL is not null");
            return (Criteria) this;
        }

        public Criteria andYwsyzlEqualTo(BigDecimal value) {
            addCriterion("YWSYZL =", value, "ywsyzl");
            return (Criteria) this;
        }

        public Criteria andYwsyzlNotEqualTo(BigDecimal value) {
            addCriterion("YWSYZL <>", value, "ywsyzl");
            return (Criteria) this;
        }

        public Criteria andYwsyzlGreaterThan(BigDecimal value) {
            addCriterion("YWSYZL >", value, "ywsyzl");
            return (Criteria) this;
        }

        public Criteria andYwsyzlGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("YWSYZL >=", value, "ywsyzl");
            return (Criteria) this;
        }

        public Criteria andYwsyzlLessThan(BigDecimal value) {
            addCriterion("YWSYZL <", value, "ywsyzl");
            return (Criteria) this;
        }

        public Criteria andYwsyzlLessThanOrEqualTo(BigDecimal value) {
            addCriterion("YWSYZL <=", value, "ywsyzl");
            return (Criteria) this;
        }

        public Criteria andYwsyzlIn(List<BigDecimal> values) {
            addCriterion("YWSYZL in", values, "ywsyzl");
            return (Criteria) this;
        }

        public Criteria andYwsyzlNotIn(List<BigDecimal> values) {
            addCriterion("YWSYZL not in", values, "ywsyzl");
            return (Criteria) this;
        }

        public Criteria andYwsyzlBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("YWSYZL between", value1, value2, "ywsyzl");
            return (Criteria) this;
        }

        public Criteria andYwsyzlNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("YWSYZL not between", value1, value2, "ywsyzl");
            return (Criteria) this;
        }

        public Criteria andYytjdmIsNull() {
            addCriterion("YYTJDM is null");
            return (Criteria) this;
        }

        public Criteria andYytjdmIsNotNull() {
            addCriterion("YYTJDM is not null");
            return (Criteria) this;
        }

        public Criteria andYytjdmEqualTo(String value) {
            addCriterion("YYTJDM =", value, "yytjdm");
            return (Criteria) this;
        }

        public Criteria andYytjdmNotEqualTo(String value) {
            addCriterion("YYTJDM <>", value, "yytjdm");
            return (Criteria) this;
        }

        public Criteria andYytjdmGreaterThan(String value) {
            addCriterion("YYTJDM >", value, "yytjdm");
            return (Criteria) this;
        }

        public Criteria andYytjdmGreaterThanOrEqualTo(String value) {
            addCriterion("YYTJDM >=", value, "yytjdm");
            return (Criteria) this;
        }

        public Criteria andYytjdmLessThan(String value) {
            addCriterion("YYTJDM <", value, "yytjdm");
            return (Criteria) this;
        }

        public Criteria andYytjdmLessThanOrEqualTo(String value) {
            addCriterion("YYTJDM <=", value, "yytjdm");
            return (Criteria) this;
        }

        public Criteria andYytjdmLike(String value) {
            addCriterion("YYTJDM like", value, "yytjdm");
            return (Criteria) this;
        }

        public Criteria andYytjdmNotLike(String value) {
            addCriterion("YYTJDM not like", value, "yytjdm");
            return (Criteria) this;
        }

        public Criteria andYytjdmIn(List<String> values) {
            addCriterion("YYTJDM in", values, "yytjdm");
            return (Criteria) this;
        }

        public Criteria andYytjdmNotIn(List<String> values) {
            addCriterion("YYTJDM not in", values, "yytjdm");
            return (Criteria) this;
        }

        public Criteria andYytjdmBetween(String value1, String value2) {
            addCriterion("YYTJDM between", value1, value2, "yytjdm");
            return (Criteria) this;
        }

        public Criteria andYytjdmNotBetween(String value1, String value2) {
            addCriterion("YYTJDM not between", value1, value2, "yytjdm");
            return (Criteria) this;
        }

        public Criteria andYzsybzIsNull() {
            addCriterion("YZSYBZ is null");
            return (Criteria) this;
        }

        public Criteria andYzsybzIsNotNull() {
            addCriterion("YZSYBZ is not null");
            return (Criteria) this;
        }

        public Criteria andYzsybzEqualTo(String value) {
            addCriterion("YZSYBZ =", value, "yzsybz");
            return (Criteria) this;
        }

        public Criteria andYzsybzNotEqualTo(String value) {
            addCriterion("YZSYBZ <>", value, "yzsybz");
            return (Criteria) this;
        }

        public Criteria andYzsybzGreaterThan(String value) {
            addCriterion("YZSYBZ >", value, "yzsybz");
            return (Criteria) this;
        }

        public Criteria andYzsybzGreaterThanOrEqualTo(String value) {
            addCriterion("YZSYBZ >=", value, "yzsybz");
            return (Criteria) this;
        }

        public Criteria andYzsybzLessThan(String value) {
            addCriterion("YZSYBZ <", value, "yzsybz");
            return (Criteria) this;
        }

        public Criteria andYzsybzLessThanOrEqualTo(String value) {
            addCriterion("YZSYBZ <=", value, "yzsybz");
            return (Criteria) this;
        }

        public Criteria andYzsybzLike(String value) {
            addCriterion("YZSYBZ like", value, "yzsybz");
            return (Criteria) this;
        }

        public Criteria andYzsybzNotLike(String value) {
            addCriterion("YZSYBZ not like", value, "yzsybz");
            return (Criteria) this;
        }

        public Criteria andYzsybzIn(List<String> values) {
            addCriterion("YZSYBZ in", values, "yzsybz");
            return (Criteria) this;
        }

        public Criteria andYzsybzNotIn(List<String> values) {
            addCriterion("YZSYBZ not in", values, "yzsybz");
            return (Criteria) this;
        }

        public Criteria andYzsybzBetween(String value1, String value2) {
            addCriterion("YZSYBZ between", value1, value2, "yzsybz");
            return (Criteria) this;
        }

        public Criteria andYzsybzNotBetween(String value1, String value2) {
            addCriterion("YZSYBZ not between", value1, value2, "yzsybz");
            return (Criteria) this;
        }

        public Criteria andYzzxzqmIsNull() {
            addCriterion("YZZXZQM is null");
            return (Criteria) this;
        }

        public Criteria andYzzxzqmIsNotNull() {
            addCriterion("YZZXZQM is not null");
            return (Criteria) this;
        }

        public Criteria andYzzxzqmEqualTo(String value) {
            addCriterion("YZZXZQM =", value, "yzzxzqm");
            return (Criteria) this;
        }

        public Criteria andYzzxzqmNotEqualTo(String value) {
            addCriterion("YZZXZQM <>", value, "yzzxzqm");
            return (Criteria) this;
        }

        public Criteria andYzzxzqmGreaterThan(String value) {
            addCriterion("YZZXZQM >", value, "yzzxzqm");
            return (Criteria) this;
        }

        public Criteria andYzzxzqmGreaterThanOrEqualTo(String value) {
            addCriterion("YZZXZQM >=", value, "yzzxzqm");
            return (Criteria) this;
        }

        public Criteria andYzzxzqmLessThan(String value) {
            addCriterion("YZZXZQM <", value, "yzzxzqm");
            return (Criteria) this;
        }

        public Criteria andYzzxzqmLessThanOrEqualTo(String value) {
            addCriterion("YZZXZQM <=", value, "yzzxzqm");
            return (Criteria) this;
        }

        public Criteria andYzzxzqmLike(String value) {
            addCriterion("YZZXZQM like", value, "yzzxzqm");
            return (Criteria) this;
        }

        public Criteria andYzzxzqmNotLike(String value) {
            addCriterion("YZZXZQM not like", value, "yzzxzqm");
            return (Criteria) this;
        }

        public Criteria andYzzxzqmIn(List<String> values) {
            addCriterion("YZZXZQM in", values, "yzzxzqm");
            return (Criteria) this;
        }

        public Criteria andYzzxzqmNotIn(List<String> values) {
            addCriterion("YZZXZQM not in", values, "yzzxzqm");
            return (Criteria) this;
        }

        public Criteria andYzzxzqmBetween(String value1, String value2) {
            addCriterion("YZZXZQM between", value1, value2, "yzzxzqm");
            return (Criteria) this;
        }

        public Criteria andYzzxzqmNotBetween(String value1, String value2) {
            addCriterion("YZZXZQM not between", value1, value2, "yzzxzqm");
            return (Criteria) this;
        }

        public Criteria andQmrqsjIsNull() {
            addCriterion("QMRQSJ is null");
            return (Criteria) this;
        }

        public Criteria andQmrqsjIsNotNull() {
            addCriterion("QMRQSJ is not null");
            return (Criteria) this;
        }

        public Criteria andQmrqsjEqualTo(Date value) {
            addCriterion("QMRQSJ =", value, "qmrqsj");
            return (Criteria) this;
        }

        public Criteria andQmrqsjNotEqualTo(Date value) {
            addCriterion("QMRQSJ <>", value, "qmrqsj");
            return (Criteria) this;
        }

        public Criteria andQmrqsjGreaterThan(Date value) {
            addCriterion("QMRQSJ >", value, "qmrqsj");
            return (Criteria) this;
        }

        public Criteria andQmrqsjGreaterThanOrEqualTo(Date value) {
            addCriterion("QMRQSJ >=", value, "qmrqsj");
            return (Criteria) this;
        }

        public Criteria andQmrqsjLessThan(Date value) {
            addCriterion("QMRQSJ <", value, "qmrqsj");
            return (Criteria) this;
        }

        public Criteria andQmrqsjLessThanOrEqualTo(Date value) {
            addCriterion("QMRQSJ <=", value, "qmrqsj");
            return (Criteria) this;
        }

        public Criteria andQmrqsjIn(List<Date> values) {
            addCriterion("QMRQSJ in", values, "qmrqsj");
            return (Criteria) this;
        }

        public Criteria andQmrqsjNotIn(List<Date> values) {
            addCriterion("QMRQSJ not in", values, "qmrqsj");
            return (Criteria) this;
        }

        public Criteria andQmrqsjBetween(Date value1, Date value2) {
            addCriterion("QMRQSJ between", value1, value2, "qmrqsj");
            return (Criteria) this;
        }

        public Criteria andQmrqsjNotBetween(Date value1, Date value2) {
            addCriterion("QMRQSJ not between", value1, value2, "qmrqsj");
            return (Criteria) this;
        }

        public Criteria andXgbzIsNull() {
            addCriterion("XGBZ is null");
            return (Criteria) this;
        }

        public Criteria andXgbzIsNotNull() {
            addCriterion("XGBZ is not null");
            return (Criteria) this;
        }

        public Criteria andXgbzEqualTo(String value) {
            addCriterion("XGBZ =", value, "xgbz");
            return (Criteria) this;
        }

        public Criteria andXgbzNotEqualTo(String value) {
            addCriterion("XGBZ <>", value, "xgbz");
            return (Criteria) this;
        }

        public Criteria andXgbzGreaterThan(String value) {
            addCriterion("XGBZ >", value, "xgbz");
            return (Criteria) this;
        }

        public Criteria andXgbzGreaterThanOrEqualTo(String value) {
            addCriterion("XGBZ >=", value, "xgbz");
            return (Criteria) this;
        }

        public Criteria andXgbzLessThan(String value) {
            addCriterion("XGBZ <", value, "xgbz");
            return (Criteria) this;
        }

        public Criteria andXgbzLessThanOrEqualTo(String value) {
            addCriterion("XGBZ <=", value, "xgbz");
            return (Criteria) this;
        }

        public Criteria andXgbzLike(String value) {
            addCriterion("XGBZ like", value, "xgbz");
            return (Criteria) this;
        }

        public Criteria andXgbzNotLike(String value) {
            addCriterion("XGBZ not like", value, "xgbz");
            return (Criteria) this;
        }

        public Criteria andXgbzIn(List<String> values) {
            addCriterion("XGBZ in", values, "xgbz");
            return (Criteria) this;
        }

        public Criteria andXgbzNotIn(List<String> values) {
            addCriterion("XGBZ not in", values, "xgbz");
            return (Criteria) this;
        }

        public Criteria andXgbzBetween(String value1, String value2) {
            addCriterion("XGBZ between", value1, value2, "xgbz");
            return (Criteria) this;
        }

        public Criteria andXgbzNotBetween(String value1, String value2) {
            addCriterion("XGBZ not between", value1, value2, "xgbz");
            return (Criteria) this;
        }

        public Criteria andJlsjYwkIsNull() {
            addCriterion("JLSJ_YWK is null");
            return (Criteria) this;
        }

        public Criteria andJlsjYwkIsNotNull() {
            addCriterion("JLSJ_YWK is not null");
            return (Criteria) this;
        }

        public Criteria andJlsjYwkEqualTo(Date value) {
            addCriterion("JLSJ_YWK =", value, "jlsjYwk");
            return (Criteria) this;
        }

        public Criteria andJlsjYwkNotEqualTo(Date value) {
            addCriterion("JLSJ_YWK <>", value, "jlsjYwk");
            return (Criteria) this;
        }

        public Criteria andJlsjYwkGreaterThan(Date value) {
            addCriterion("JLSJ_YWK >", value, "jlsjYwk");
            return (Criteria) this;
        }

        public Criteria andJlsjYwkGreaterThanOrEqualTo(Date value) {
            addCriterion("JLSJ_YWK >=", value, "jlsjYwk");
            return (Criteria) this;
        }

        public Criteria andJlsjYwkLessThan(Date value) {
            addCriterion("JLSJ_YWK <", value, "jlsjYwk");
            return (Criteria) this;
        }

        public Criteria andJlsjYwkLessThanOrEqualTo(Date value) {
            addCriterion("JLSJ_YWK <=", value, "jlsjYwk");
            return (Criteria) this;
        }

        public Criteria andJlsjYwkIn(List<Date> values) {
            addCriterion("JLSJ_YWK in", values, "jlsjYwk");
            return (Criteria) this;
        }

        public Criteria andJlsjYwkNotIn(List<Date> values) {
            addCriterion("JLSJ_YWK not in", values, "jlsjYwk");
            return (Criteria) this;
        }

        public Criteria andJlsjYwkBetween(Date value1, Date value2) {
            addCriterion("JLSJ_YWK between", value1, value2, "jlsjYwk");
            return (Criteria) this;
        }

        public Criteria andJlsjYwkNotBetween(Date value1, Date value2) {
            addCriterion("JLSJ_YWK not between", value1, value2, "jlsjYwk");
            return (Criteria) this;
        }

        public Criteria andCxsjYwkIsNull() {
            addCriterion("CXSJ_YWK is null");
            return (Criteria) this;
        }

        public Criteria andCxsjYwkIsNotNull() {
            addCriterion("CXSJ_YWK is not null");
            return (Criteria) this;
        }

        public Criteria andCxsjYwkEqualTo(Date value) {
            addCriterion("CXSJ_YWK =", value, "cxsjYwk");
            return (Criteria) this;
        }

        public Criteria andCxsjYwkNotEqualTo(Date value) {
            addCriterion("CXSJ_YWK <>", value, "cxsjYwk");
            return (Criteria) this;
        }

        public Criteria andCxsjYwkGreaterThan(Date value) {
            addCriterion("CXSJ_YWK >", value, "cxsjYwk");
            return (Criteria) this;
        }

        public Criteria andCxsjYwkGreaterThanOrEqualTo(Date value) {
            addCriterion("CXSJ_YWK >=", value, "cxsjYwk");
            return (Criteria) this;
        }

        public Criteria andCxsjYwkLessThan(Date value) {
            addCriterion("CXSJ_YWK <", value, "cxsjYwk");
            return (Criteria) this;
        }

        public Criteria andCxsjYwkLessThanOrEqualTo(Date value) {
            addCriterion("CXSJ_YWK <=", value, "cxsjYwk");
            return (Criteria) this;
        }

        public Criteria andCxsjYwkIn(List<Date> values) {
            addCriterion("CXSJ_YWK in", values, "cxsjYwk");
            return (Criteria) this;
        }

        public Criteria andCxsjYwkNotIn(List<Date> values) {
            addCriterion("CXSJ_YWK not in", values, "cxsjYwk");
            return (Criteria) this;
        }

        public Criteria andCxsjYwkBetween(Date value1, Date value2) {
            addCriterion("CXSJ_YWK between", value1, value2, "cxsjYwk");
            return (Criteria) this;
        }

        public Criteria andCxsjYwkNotBetween(Date value1, Date value2) {
            addCriterion("CXSJ_YWK not between", value1, value2, "cxsjYwk");
            return (Criteria) this;
        }

        public Criteria andBjsjYwkIsNull() {
            addCriterion("BJSJ_YWK is null");
            return (Criteria) this;
        }

        public Criteria andBjsjYwkIsNotNull() {
            addCriterion("BJSJ_YWK is not null");
            return (Criteria) this;
        }

        public Criteria andBjsjYwkEqualTo(Date value) {
            addCriterion("BJSJ_YWK =", value, "bjsjYwk");
            return (Criteria) this;
        }

        public Criteria andBjsjYwkNotEqualTo(Date value) {
            addCriterion("BJSJ_YWK <>", value, "bjsjYwk");
            return (Criteria) this;
        }

        public Criteria andBjsjYwkGreaterThan(Date value) {
            addCriterion("BJSJ_YWK >", value, "bjsjYwk");
            return (Criteria) this;
        }

        public Criteria andBjsjYwkGreaterThanOrEqualTo(Date value) {
            addCriterion("BJSJ_YWK >=", value, "bjsjYwk");
            return (Criteria) this;
        }

        public Criteria andBjsjYwkLessThan(Date value) {
            addCriterion("BJSJ_YWK <", value, "bjsjYwk");
            return (Criteria) this;
        }

        public Criteria andBjsjYwkLessThanOrEqualTo(Date value) {
            addCriterion("BJSJ_YWK <=", value, "bjsjYwk");
            return (Criteria) this;
        }

        public Criteria andBjsjYwkIn(List<Date> values) {
            addCriterion("BJSJ_YWK in", values, "bjsjYwk");
            return (Criteria) this;
        }

        public Criteria andBjsjYwkNotIn(List<Date> values) {
            addCriterion("BJSJ_YWK not in", values, "bjsjYwk");
            return (Criteria) this;
        }

        public Criteria andBjsjYwkBetween(Date value1, Date value2) {
            addCriterion("BJSJ_YWK between", value1, value2, "bjsjYwk");
            return (Criteria) this;
        }

        public Criteria andBjsjYwkNotBetween(Date value1, Date value2) {
            addCriterion("BJSJ_YWK not between", value1, value2, "bjsjYwk");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}